/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * JUsuario.java
 *
 * Created on 15-jul-2012, 0:09:48
 */

package interfaz;
import Clases.Catedratico;
import Controladores.CatedraticoPersonalizado;
import Clases.Usuario;
import Controladores.CatedraticoJpaController;
import Controladores.UsuarioJpaController;
import Controladores.UsuarioPersonalizado;
import escuela.conexion;
import escuela.exceptions.IllegalOrphanException;
import escuela.exceptions.NonexistentEntityException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;


/**
 *
 * @author Jose
 */
public class JUsuario extends javax.swing.JDialog {
    Mensajes msj = new Mensajes(this);
    conexion cnx = conexion.ObtenerInstancia();
    EntityManagerFactory emf = cnx.ObtenerEMF();
     UsuarioPersonalizado usuarios = new UsuarioPersonalizado(emf);
     short sidUs=0;
    int sban=1;
    boolean sexistend=true;

    /** Creates new form JUsuario */
    public JUsuario(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        this.setLocationRelativeTo(null);
        if(usuarios.pTodosLosUsuarios().isEmpty()){
            sexistend=false;
        } else{
            CargarNombreUsuario();
            CargarDatosEdicion();
            CargarLista();
        }
    }
    private void CargarNombreUsuario(){
        List<Usuario> NUser = usuarios.pTodosLosUsuarios();
        for(Usuario ids: NUser){
            this.Nusuario.addItem(ids.getNombreUsuario());
            //System.out.println(cod.getCodigoPersonal());
        }

    }
        private void CargarDatosEdicion(){
        List<Usuario> ususelec = usuarios.pBuscarPorNombreUsuario(this.Nusuario.getSelectedItem()+"");
        Usuario usuarioseleccionado = ususelec.get(0);
        sidUs = usuarioseleccionado.getIdUsuario();
        this.NombreUsuario.setText(usuarioseleccionado.getNombreUsuario());
        this.ContraseñaActual.setText(usuarioseleccionado.getContraseña());
        


        if(usuarioseleccionado.getHabilitado()){
            this.Habilitado.setSelected(true);
        }else
            this.Desabilitado.setSelected(true);
    }
         private void CargarLista(){
        MiModelo modelo = new MiModelo();
        List<Usuario> listausuario;
        if(this.Buscadatos.getSelectedIndex()==0){
            listausuario = usuarios.pTodosLosUsuarios();
        }else if(this.Buscadatos.getSelectedIndex()==1){
            listausuario = usuarios.pUsuariosHabilitados();
        }else  {
            listausuario = usuarios.pUsuariosDeshabilitados();
        }
        modelo.addColumn("Identificador");
        modelo.addColumn("Nombre Usuario");
        modelo.addColumn("Contraseña");
       
        Object[] filas = new Object [3];
        for(Usuario sdatos: listausuario){
            filas[0]=sdatos.getIdUsuario();
            filas[1]=sdatos.getNombreUsuario();
            filas[2]=sdatos.getContraseña();
            
            modelo.addRow(filas);
        }
        this.ListaUsuario.setModel(modelo);

    }
         /**
          * Este deja que la tabla no sea editable
          */
         public class MiModelo extends DefaultTableModel
    {
        @Override
       public boolean isCellEditable (int row, int column)
       {
           return false;
       }
    }
          /**
           * Procedimiento que crea los usuarios
           */
          public void IngresarUsuario(){
              Usuario ingresousu = new Usuario();
              UsuarioJpaController control = new UsuarioJpaController(emf);
              ingresousu.setNombreUsuario(this.NombreUsuario.getText());
              ingresousu.setContraseña(this.Contraseña.getText());
              ingresousu.setHabilitado(true);


              control.create(ingresousu);


          }
          /**
           * Este procedimiento edita los datos de un Usuario
           */
          public void EditarUsuario(){
              Usuario editausu = new Usuario();
              UsuarioJpaController control = new UsuarioJpaController(emf);
              Catedratico editacatedratico = new Catedratico();
              CatedraticoJpaController controlcat = new CatedraticoJpaController(emf);
              editausu.setNombreUsuario((String) this.Nusuario.getSelectedItem());
              editausu=control.findUsuario(sidUs);
              if(this.NuevaContraseña.getText().isEmpty()){
              editausu.setContraseña(this.ContraseñaActual.getText());
              }else{
                editausu.setContraseña(this.NuevaContraseña.getText());
              }


              
              
              //editausu.setHabilitado(true);
              if(this.Desabilitado.isSelected()){
                  editausu.setHabilitado(false);
                  editacatedratico = controlcat.findCatedratico(editausu.getIdUsuario());
                  editacatedratico.setVigente(false);
              }else if (this.Habilitado.isSelected()){
                  editausu.setHabilitado(true);
                   editacatedratico = controlcat.findCatedratico(editausu.getIdUsuario());
                  editacatedratico.setVigente(true);
              }
              try{
               control.edit(editausu);
               controlcat.edit(editacatedratico);
              }
              catch(Exception e){
                  System.out.println(e);
              }
              CargarLista();
              CargarDatosEdicion();
              this.NuevaContraseña.setText("");

          }
          private boolean VerificarCampos(byte panel){
        boolean respuesta =true;
        boolean[] campos = new boolean[5];
        if(panel==0){
            campos[0]=this.NombreUsuario.getText().isEmpty();
            campos[1]=this.Contraseña.getText().isEmpty();
            

        }else {
            campos[1]=this.ContraseñaActual.getText().isEmpty();
           


        }
        int num=0;
        for(boolean cam: campos){
            if(cam==true){
                respuesta=false;
                break;
            }
            num++;
        }
        if(respuesta==false){
            //System.out.print("entro");
            String mensaje="";
            switch(num){
                case 1: mensaje="La contraseña son obligatorios"; break;
                case 0: mensaje="Los nombres son obligatorios"; break;
                
            }
            msj.MensajeError(mensaje);
        }
        return respuesta;
    }// </editor-fold>
    private void ReiniciarCampos(byte campo){
        if(campo==0){
            this.NombreUsuario.setText("");
            this.Contraseña.setText("");

        }else{

        }
    }
     private void Aceptar(){
        int seleccionado = this.AdUs.getSelectedIndex();
        switch(seleccionado){
            case 1: if(VerificarCampos((byte)0)){//Creacion

                        IngresarUsuario();
                        msj.MensajeSeRealizo("El Usuario se ha ingresado exitosamente", "Ingresado");
                        sban=0;
                        this.Nusuario.removeAllItems();
                        CargarNombreUsuario();
                        sban=1;
                        CargarLista();
                        CargarDatosEdicion();

                    }
                    break;
            case 2: if(VerificarCampos((byte)1)){//Edicion
                        byte respuesta =msj.MensajeConfirmacion("¿Esta seguro que desea actualizar la contraseña?");
                        switch(respuesta){
                            case 0: EditarUsuario();
                                    msj.MensajeSeRealizo("Se ha actualizado la contraseña", "Actualizado");
                                    break;
                            case 2: System.out.println("Cancelar"); break;
                        }
                    }
                    break;
        }
    }
      private void Cancelar(){
        int seleccionado = this.AdUs.getSelectedIndex();
        byte respuesta;
        switch(seleccionado){
            case 0: respuesta =msj.MensajeConfirmacion("¿Esta seguro que cancelar el ingreso? Todos los datos se perderan");
                    switch(respuesta){
                        case 0: ReiniciarCampos((byte)0); break;
                        case 2: System.out.println("Cancelar"); break;
                    }
                    break;
            case 1: respuesta = msj.MensajeConfirmacion("¿Esta seguro que desea cancelar la actualizacion? Todos los datos que no esten guardados se perderan");
                    switch(respuesta){
                        case 0: CargarDatosEdicion(); break;
                        case 2: System.out.println("Cancelar"); break;
                    }
                    break;
        }
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();
        buttonGroup2 = new javax.swing.ButtonGroup();
        jTaskPane1 = new com.l2fprod.common.swing.JTaskPane();
        jLabel1 = new javax.swing.JLabel();
        Descripcion = new javax.swing.JLabel();
        AdUs = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        jLabel10 = new javax.swing.JLabel();
        Buscadatos = new javax.swing.JComboBox();
        jScrollPane1 = new javax.swing.JScrollPane();
        ListaUsuario = new javax.swing.JTable();
        jPanel2 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        NombreUsuario = new javax.swing.JTextField();
        Contraseña = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        AdminSi = new javax.swing.JRadioButton();
        AdminNo = new javax.swing.JRadioButton();
        jPanel3 = new javax.swing.JPanel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        Habilitado = new javax.swing.JRadioButton();
        Desabilitado = new javax.swing.JRadioButton();
        jLabel9 = new javax.swing.JLabel();
        NuevaContraseña = new javax.swing.JTextField();
        Nusuario = new javax.swing.JComboBox();
        ContraseñaActual = new javax.swing.JPasswordField();
        Aceptar = new javax.swing.JButton();
        Cancelar = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Administracion de Usuarios");

        jLabel1.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
        jLabel1.setForeground(new java.awt.Color(255, 255, 255));
        jLabel1.setText("Administracion de Usuarios");
        jTaskPane1.add(jLabel1);

        Descripcion.setForeground(new java.awt.Color(255, 255, 255));
        Descripcion.setText("jLabel2");
        jTaskPane1.add(Descripcion);

        AdUs.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                AdUsStateChanged(evt);
            }
        });

        jLabel10.setText("Buscar:");

        Buscadatos.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Todos Los Usuarios", "Usuario Habilitado", "Usuario Desabilitado" }));

        ListaUsuario.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(ListaUsuario);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(86, 86, 86)
                .addComponent(jLabel10)
                .addGap(18, 18, 18)
                .addComponent(Buscadatos, javax.swing.GroupLayout.PREFERRED_SIZE, 245, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel10)
                    .addComponent(Buscadatos, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        AdUs.addTab("Listar", jPanel1);

        jLabel3.setText("Nombre Usuario:");

        NombreUsuario.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                NombreUsuarioKeyPressed(evt);
            }
        });

        Contraseña.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                ContraseñaKeyPressed(evt);
            }
        });

        jLabel4.setText("Contraseña:");

        jLabel5.setText("Administrador:");

        buttonGroup2.add(AdminSi);
        AdminSi.setText("Si");

        buttonGroup2.add(AdminNo);
        AdminNo.setText("No");

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGap(38, 38, 38)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel5)
                    .addComponent(jLabel3)
                    .addComponent(jLabel4))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(Contraseña, javax.swing.GroupLayout.DEFAULT_SIZE, 186, Short.MAX_VALUE)
                        .addComponent(NombreUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 186, Short.MAX_VALUE))
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addComponent(AdminSi)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(AdminNo)))
                .addContainerGap(73, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGap(23, 23, 23)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(NombreUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Contraseña, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5)
                    .addComponent(AdminSi)
                    .addComponent(AdminNo))
                .addContainerGap(99, Short.MAX_VALUE))
        );

        AdUs.addTab("Crear", jPanel2);

        jLabel6.setText("Nombre Usuario:");

        jLabel7.setText("Contraseña Actual:");

        jLabel8.setText("Habilitado:");

        buttonGroup1.add(Habilitado);
        Habilitado.setText("Si");

        buttonGroup1.add(Desabilitado);
        Desabilitado.setText("No");

        jLabel9.setText("Contraseña Nueva:");

        Nusuario.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                NusuarioItemStateChanged(evt);
            }
        });

        ContraseñaActual.setEditable(false);
        ContraseñaActual.setText("jPasswordField1");

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGap(44, 44, 44)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel9)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel6)
                        .addGap(18, 18, 18))
                    .addComponent(jLabel7)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel8)
                        .addGap(18, 18, 18)))
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(Habilitado)
                        .addGap(18, 18, 18)
                        .addComponent(Desabilitado))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(NuevaContraseña)
                            .addComponent(Nusuario, 0, 189, Short.MAX_VALUE)
                            .addComponent(ContraseñaActual))))
                .addGap(54, 54, 54))
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addGap(40, 40, 40)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel6)
                    .addComponent(Nusuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel7)
                    .addComponent(ContraseñaActual, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(24, 24, 24)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel9)
                    .addComponent(NuevaContraseña, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(31, 31, 31)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Habilitado)
                    .addComponent(Desabilitado)
                    .addComponent(jLabel8))
                .addContainerGap(25, Short.MAX_VALUE))
        );

        AdUs.addTab("Editar", jPanel3);

        Aceptar.setText("Aceptar");
        Aceptar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AceptarActionPerformed(evt);
            }
        });

        Cancelar.setText("Cancelar");
        Cancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                CancelarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jTaskPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 410, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addComponent(AdUs)
                .addGap(10, 10, 10))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(233, Short.MAX_VALUE)
                .addComponent(Aceptar)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(Cancelar)
                .addGap(21, 21, 21))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jTaskPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(25, 25, 25)
                .addComponent(AdUs, javax.swing.GroupLayout.PREFERRED_SIZE, 249, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(Cancelar)
                    .addComponent(Aceptar))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void NombreUsuarioKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_NombreUsuarioKeyPressed
        if(evt.getKeyCode()==10){
        this.Contraseña.requestFocusInWindow();
        }
    }//GEN-LAST:event_NombreUsuarioKeyPressed

        private void ContraseñaKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_ContraseñaKeyPressed
              if(evt.getKeyCode()==10){
        this.Cancelar.requestFocusInWindow();
      }
        }//GEN-LAST:event_ContraseñaKeyPressed

        private void AdUsStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_AdUsStateChanged
        if(sexistend){
            if(this.AdUs.getSelectedIndex()==0){
                this.Descripcion.setText("Lista de Usuarios");
                this.Aceptar.setEnabled(false);
                this.Cancelar.setEnabled(false);
            }else if(this.AdUs.getSelectedIndex()==1){
                this.Descripcion.setText("Crear nuevo Usuario, los campos con * son obligatorios");
                this.Aceptar.setEnabled(true);
                this.Cancelar.setEnabled(true);
            }else if(this.AdUs.getSelectedIndex()==2){
                this.Descripcion.setText("Editar un Usuario, los campos con * son obligatorios");
                this.Aceptar.setEnabled(true);
                this.Cancelar.setEnabled(true);
            }
        }else{this.AdUs.setSelectedIndex(0);}             // TODO add your handling code here:
        }//GEN-LAST:event_AdUsStateChanged

        private void NusuarioItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_NusuarioItemStateChanged
            if(sban==1){
            CargarDatosEdicion();
        }            // TODO add your handling code here:
        }//GEN-LAST:event_NusuarioItemStateChanged

        private void AceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AceptarActionPerformed
            Aceptar();            // TODO add your handling code here:
        }//GEN-LAST:event_AceptarActionPerformed

        private void CancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CancelarActionPerformed
            Cancelar();
        }//GEN-LAST:event_CancelarActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                JUsuario dialog = new JUsuario(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton Aceptar;
    private javax.swing.JTabbedPane AdUs;
    private javax.swing.JRadioButton AdminNo;
    private javax.swing.JRadioButton AdminSi;
    private javax.swing.JComboBox Buscadatos;
    private javax.swing.JButton Cancelar;
    private javax.swing.JTextField Contraseña;
    private javax.swing.JPasswordField ContraseñaActual;
    private javax.swing.JRadioButton Desabilitado;
    private javax.swing.JLabel Descripcion;
    private javax.swing.JRadioButton Habilitado;
    private javax.swing.JTable ListaUsuario;
    private javax.swing.JTextField NombreUsuario;
    private javax.swing.JTextField NuevaContraseña;
    private javax.swing.JComboBox Nusuario;
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.ButtonGroup buttonGroup2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private com.l2fprod.common.swing.JTaskPane jTaskPane1;
    // End of variables declaration//GEN-END:variables

}
